package com.tct.worktimeboard.entity.excel;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@NoArgsConstructor
@JsonInclude(value = JsonInclude.Include.NON_NULL)
public class WorkExcelTemplate implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 工时表ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 用户名
     */
    @Excel(name = "用户名",  width = 25,orderNum = "0")
    private String username;

    /**
     * 填报用户ID
     */
    private Integer userId;

    /**
     * PDT名称
     */
    private Integer pdtId;

    /**
     * 工作分类
     */
    private Integer workKindId;

    /**
     * 项目ID
     */
    private Integer projectId;

    private Long taskId;    //任务ID

    /**
     * 工时
     */
    @Excel(name = "工时", width = 25,orderNum = "5")
    private BigDecimal workTime;

    /**
     * 工时开始时间
     */
    @Excel(name = "开始时间",  width = 25,orderNum = "3")
    private String workStartTime;

    /**
     * 工时结束时间
     */
    @Excel(name = "结束时间",  width = 25,orderNum = "4")
    private String workEndTime;

    /**
     * 工作内容描述
     */
    @Excel(name = "工作描述", width = 30, orderNum = "7")
    private String workDescribe;

    /**
     * 确认人ID
     */
    private Integer makeUserId;

    @Excel(name = "确认人",  width = 25,orderNum = "1")
    private String makeUsername;

    /**
     * 确认结果
     */
//    @Excel(name = "结果", width = 25,orderNum = "7")
//    private Boolean makeStatus;
    @Excel(name = "所属项目", width = 30, orderNum = "9")
    private String projectName;

    @Excel(name = "群组类型", width = 30, orderNum = "10")
    private String groupTypeName;

    /**
     * 评价
     */
    @Excel(name = "评价", width = 25,orderNum = "8")
    private String evaluate;

    @Excel(name = "星级", width = 25,orderNum = "6")
    private Integer startLevel;

    private Integer groupTypeId;    //群组分类ID

    /**
     * 创建时间
     */
    @Excel(name = "创建时间",  width = 25,orderNum = "2")
    private String createTime;
}
